Modern video players employ complex algorithms to adapt the bitrate of thevideo that is shown to the user. Bitrate adaptation requires a tradeoff betweenreducing the probability that the video freezes and enhancing the quality ofthe video shown to the user. A bitrate that is too high leads to frequent videofreezes (i.e., rebuffering), while a bitrate that is too low leads to poorvideo quality. Video providers segment the video into short chunks and encodeeach chunk at multiple bitrates. The video player adaptively chooses thebitrate of each chunk that is downloaded, possibly choosing different bitratesfor successive chunks. While bitrate adaptation holds the key to a good qualityof experience for the user, current video players use ad-hoc algorithms thatare poorly understood. We formulate bitrate adaptation as a utilitymaximization problem and devise an online control algorithm called BOLA thatuses Lyapunov optimization techniques to minimize rebuffering and maximizevideo quality.We prove that BOLA achieves a time-average utility that is withinan additive term O(1/V) of the optimal value, for a control parameter V relatedto the video buffer size. Further, unlike prior work, our algorithm does notrequire any prediction of available network bandwidth. We empirically validateour algorithm in a simulated network environment using an extensive collectionof network traces. We show that our algorithm achieves near-optimal utility andin many cases significantly higher utility than current state-of-the-artalgorithms. Our work has immediate impact on real-world video players and forthe evolving DASH standard for video transmission.
展开▼